home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / nodesrch.zip / NODESRCH.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1996-11-14  |  14KB  |  859 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     String   STRING001
  30.     String   STRING002
  31.     String   STRING003
  32.     String   STRING004
  33.     String   STRING005
  34.     String   STRING006
  35.     String   STRING007
  36.     String   STRING008
  37.     String   STRING009
  38.     String   STRING010
  39.     String   STRING011
  40.     String   STRING012
  41.     String   STRING013
  42.     String   STRING014
  43.     String   STRING015
  44.     String   STRING016
  45.     String   STRING017
  46.     String   STRING018
  47.     String   STRING019
  48.     String   STRING020
  49.     String   STRING021
  50.     String   STRING022
  51.     String   STRING023
  52.     String   STRING024
  53.     String   STRING025
  54.     String   STRING026
  55.     String   STRING027
  56.     String   STRING028
  57.     String   STRING029
  58.     String   STRING030
  59.     String   STRING031
  60.     Int      INT001
  61.     Declare  Function FUNCTION001() String
  62.     Declare  Procedure PROC001()
  63.     Declare  Procedure PROC002()
  64.     Declare  Procedure PROC004()
  65.     Declare  Procedure PROC005()
  66.     Declare  Procedure PROC006()
  67.     Declare  Procedure PROC007()
  68.     Declare  Procedure PROC008()
  69.     Declare  Procedure PROC009()
  70.     Declare  Procedure PROC011()
  71.     Declare  Procedure PROC012()
  72.     Declare  Procedure PROC014()
  73.     Declare  Procedure PROC015()
  74.     Declare  Procedure PROC016()
  75.  
  76. ;------------------------------------------------------------------------------
  77.  
  78.     PROC007()
  79.     INTEGER001 = DNext()
  80.     STRING001 = " "
  81.     Cls
  82.     PROC001()
  83.     End
  84.  
  85. ;------------------------------------------------------------------------------
  86.  
  87.     Procedure PROC001()
  88.  
  89.     PROC004()
  90.     While (Upper(STRING001) <> "Q") Do
  91.         STRING001 = FUNCTION001()
  92.         Select Case (STRING001)
  93.             Case "r", "R"
  94.                 Cls
  95.                 DCloseAll
  96.                 If (Exist(PPEPath() + "nodelist.dbf")) Then
  97.                     DOpen INTEGER001, PPEPath() + "nodelist", 0
  98.                     If (DErr(INTEGER001)) Goto LABEL001
  99.                     PrintLn 
  100.                     PrintLn "@X0ENode List Found!@X07"
  101.                     PROC002()
  102.                     Goto LABEL002
  103.                     :LABEL001
  104.                     PrintLn 
  105.                     PrintLn "Error opening file"
  106.                     :LABEL002
  107.                     Wait
  108.                 Else
  109.                     PrintLn 
  110.                     PrintLn "File does not exist"
  111.                     Wait
  112.                 Endif
  113.             Case "s", "S"
  114.                 Cls
  115.                 DCloseAll
  116.                 If (Exist(PPEPath() + "nodelist.dbf")) Then
  117.                     DOpen INTEGER001, PPEPath() + "nodelist", 0
  118.                     If (DErr(INTEGER001)) Goto LABEL003
  119.                     PROC012()
  120.                     Goto LABEL004
  121.                     :LABEL003
  122.                     PrintLn 
  123.                     PrintLn "Error opening file"
  124.                     :LABEL004
  125.                 Else
  126.                     PrintLn 
  127.                     PrintLn "File does not exist"
  128.                     Wait
  129.                 Endif
  130.             Case "q", "Q"
  131.                 DCloseAll
  132.                 End
  133.         End Select
  134.         Cls
  135.         PROC004()
  136.     EndWhile
  137.  
  138.     EndProc
  139.  
  140.  
  141. ;------------------------------------------------------------------------------
  142.  
  143.     Procedure PROC007()
  144.  
  145.     String   STRING005
  146.     String   STRING006
  147.     String   STRING007
  148.     String   STRING008
  149.     String   STRING009
  150.     Integer  INTEGER002
  151.     Integer  INTEGER003
  152.     Integer  INTEGER004
  153.  
  154.     If (Exist(PPEPath() + "NODESRCH.CFG")) Then
  155.         FOpen 1, PPEPath() + "NODESRCH.CFG", 2, 0 + 0
  156.         Cls
  157.         If (Ferr(1)) Goto LABEL005
  158.         PrintLn 
  159.         PrintLn ".CFG File Found!"
  160.         Goto LABEL006
  161.         :LABEL005
  162.         PrintLn 
  163.         PrintLn "  Nodesrch.cfg Not Found"
  164.         PrintLn "  Please see the DOCs"
  165.         End
  166.     Endif
  167.     :LABEL006
  168.     FGet 1, STRING006
  169.     FGet 1, STRING008
  170.     FClose 1
  171.     STRING009 = Strip(STRING006, " ")
  172.     For INTEGER004 = 1 To Len(STRING009)
  173.         STRING007 = Mid(STRING009, INTEGER004, 1)
  174.         INTEGER002 = Asc(STRING007)
  175.         INTEGER003 = INTEGER003 + INTEGER002
  176.     Next
  177.     STRING005 = (INTEGER003 * Len(STRING009)) * 13
  178.     If (STRING008 == STRING005) Then
  179.         Cls
  180.         PrintLn 
  181.         PrintLn 
  182.         PrintLn "               This PPE is Registered to ", STRING006
  183.     Else
  184.         Cls
  185.         PrintLn 
  186.         PrintLn "               This PPE is unregistered!!!!"
  187.         Delay 273
  188.     Endif
  189.     Wait
  190.  
  191.     EndProc
  192.  
  193.  
  194. ;------------------------------------------------------------------------------
  195.  
  196.     Procedure PROC002()
  197.  
  198.     AnsiPos 4, 4
  199.     PrintLn "@X81Now Creating The NAME INDEX!!!@X07"
  200.     If (Exist(PPEPath() + "nodesrch.ndx")) Delete PPEPath() + "nodesrch.ndx"
  201.     DnCreate INTEGER001, PPEPath() + "nodesrch.ndx", "Sysop_Name"
  202.     If (DErr(INTEGER001)) Then
  203.         PrintLn "@X84Error creating index.@X07"
  204.         Wait
  205.     Endif
  206.     DTag INTEGER001, "nodesrch"
  207.     If (DErr(INTEGER001)) Goto LABEL007
  208.     AnsiPos 4, 4
  209.     PrintLn "@X02The NAME INDEX Is Finished !!!@X07"
  210.     Goto LABEL008
  211.     :LABEL007
  212.     PrintLn "@X84Error Creating File!@X07"
  213.     :LABEL008
  214.     AnsiPos 6, 6
  215.     PrintLn "@X81Now Creating The BBS NAME INDEX!!!@X07"
  216.     If (Exist(PPEPath() + "BBSNAME.ndx")) Delete PPEPath() + "BBSNAME.ndx"
  217.     DnCreate INTEGER001, PPEPath() + "BBSNAME.ndx", "BBS_Name"
  218.     If (DErr(INTEGER001)) Then
  219.         PrintLn "@X84Error creating index.@X07"
  220.         Wait
  221.     Endif
  222.     DTag INTEGER001, "BBSNAME"
  223.     If (DErr(INTEGER001)) Goto LABEL009
  224.     AnsiPos 6, 6
  225.     PrintLn "@X02The BBS NAME INDEX Is Finished !!!@X07"
  226.     Goto LABEL010
  227.     :LABEL009
  228.     PrintLn "@X84Error Creating File!@X07"
  229.     :LABEL010
  230.     AnsiPos 8, 8
  231.     PrintLn "@X81Now Creating The BBS LOCATION INDEX!!!@X07"
  232.     If (Exist(PPEPath() + "LOCATION.ndx")) Delete PPEPath() + "LOCATION.ndx"
  233.     DnCreate INTEGER001, PPEPath() + "LOCATION.ndx", "Location"
  234.     If (DErr(INTEGER001)) Then
  235.         PrintLn "@X84Error creating index.@X07"
  236.         Wait
  237.     Endif
  238.     DTag INTEGER001, "LOCATION"
  239.     If (DErr(INTEGER001)) Goto LABEL011
  240.     AnsiPos 8, 8
  241.     PrintLn "@X02The BBS LOCATION INDEX Is Finished !!!@X07"
  242.     Goto LABEL012
  243.     :LABEL011
  244.     PrintLn "@X84Error Creating File!@X07"
  245.     :LABEL012
  246.     AnsiPos 10, 10
  247.     PrintLn "@X81Now Creating The NET NUMBER INDEX!!!@X07"
  248.     If (Exist(PPEPath() + "NETLIST.ndx")) Delete PPEPath() + "NETLIST.ndx"
  249.     DnCreate INTEGER001, PPEPath() + "NETLIST.ndx", "Net"
  250.     If (DErr(INTEGER001)) Then
  251.         PrintLn "@X84Error creating index.@X07"
  252.         Wait
  253.     Endif
  254.     DTag INTEGER001, "NETLIST"
  255.     If (DErr(INTEGER001)) Goto LABEL013
  256.     AnsiPos 10, 10
  257.     PrintLn "@X02The NET NUMBER INDEX Is Finished !!!@X07"
  258.     Goto LABEL014
  259.     :LABEL013
  260.     PrintLn "@X84Error Creating File!@X07"
  261.     :LABEL014
  262.     AnsiPos 12, 12
  263.     PrintLn "@X81Now Creating The PHONE NUMBER INDEX!!!@X07"
  264.     If (Exist(PPEPath() + "PHONE.ndx")) Delete PPEPath() + "PHONE.ndx"
  265.     DnCreate INTEGER001, PPEPath() + "PHONE.ndx", "BBS_Phone"
  266.     If (DErr(INTEGER001)) Then
  267.         PrintLn "@X84Error creating index.@X07"
  268.         Wait
  269.     Endif
  270.     DTag INTEGER001, "PHONE"
  271.     If (DErr(INTEGER001)) Goto LABEL015
  272.     AnsiPos 12, 12
  273.     PrintLn "@X02The PHONE NUMBER INDEX Is Finished !!!@X07"
  274.     Goto LABEL016
  275.     :LABEL015
  276.     PrintLn "@X84Error Creating File!@X07"
  277.     :LABEL016
  278.  
  279.     EndProc
  280.  
  281.  
  282. ;------------------------------------------------------------------------------
  283.  
  284.     Procedure PROC012()
  285.  
  286.     PROC008()
  287.     While (Upper(STRING001) <> "Q") Do
  288.         STRING001 = FUNCTION001()
  289.         If (STRING001 == "1") Then
  290.             Cls
  291.             PROC009()
  292.             PROC008()
  293.             Continue
  294.         Endif
  295.         If (STRING001 == "2") Then
  296.             Cls
  297.             PROC011()
  298.             PROC008()
  299.             Continue
  300.         Endif
  301.         If (STRING001 == "3") Then
  302.             Cls
  303.             PROC014()
  304.             PROC008()
  305.             Continue
  306.         Endif
  307.         If (STRING001 == "4") Then
  308.             Cls
  309.             PROC015()
  310.             PROC008()
  311.             Continue
  312.         Endif
  313.         If (STRING001 == "5") Then
  314.             Cls
  315.             PROC016()
  316.             PROC008()
  317.             Continue
  318.         Endif
  319.         If ((STRING001 == "M") || (STRING001 == "m")) Then
  320.             Cls
  321.             PROC001()
  322.             PrintLn "Please Hit Enter to Continue!"
  323.         Endif
  324.     EndWhile
  325.     PROC008()
  326.  
  327.     EndProc
  328.  
  329.  
  330. ;------------------------------------------------------------------------------
  331.  
  332.     Procedure PROC009()
  333.  
  334.     String   STRING010
  335.     String   STRING011
  336.     String   STRING012
  337.     Integer  INTEGER005
  338.  
  339.     If (Exist(PPEPath() + "nodesrch.ndx")) Then
  340.         DnOpen INTEGER001, PPEPath() + "nodesrch.ndx"
  341.         DTag INTEGER001, "nodesrch"
  342.         PrintLn "@X02Search on @X0D", DName(INTEGER001, 6), " @X02field,"
  343.         PrintLn 
  344.         Input "@X05Enter the Sysop Name to search for: _", STRING010
  345.         PrintLn 
  346.         PrintLn "@X02Searching for@X04 ", Mixed(STRING010), "@X02 in field @X07", DName(INTEGER001, 6), " ..."
  347.     Endif
  348.     PROC008()
  349.     DSeek INTEGER001, Mixed(STRING010)
  350.     STRING012 = DGet(INTEGER001, "Sysop_Name")
  351.     STRING010 = STRING012
  352.     While (STRING012 == STRING010) Do
  353.         STRING012 = DGet(INTEGER001, "Sysop_Name")
  354.         PrintLn "@X09Record Number @X07", DRecNo(INTEGER001), "@X07", "@X09 Of@X07 ", DRecCount(INTEGER001), "", " @X09Records!@X07"
  355.         INTEGER005 = 6
  356.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  357.         Print "@X0F", Trim(STRING011, " "), "@X07"
  358.         INTEGER005 = 1
  359.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  360.         Print "  @X0A", Trim(STRING011, " "), ":", "@X07"
  361.         INTEGER005 = 2
  362.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  363.         Print "@X0A", Trim(STRING011, " "), "/", "@X07"
  364.         INTEGER005 = 3
  365.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  366.         Print "@X0A", Trim(STRING011, " "), "@X07"
  367.         INTEGER005 = 5
  368.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  369.         Print "  @X0A", Trim(STRING011, " "), "@X07"
  370.         INTEGER005 = 4
  371.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  372.         Print "  @X0A", Trim(STRING011, " "), "@X07"
  373.         INTEGER005 = 7
  374.         DGet INTEGER001, DName(INTEGER001, INTEGER005), STRING011
  375.         PrintLn 
  376.         Print "@X0A", Trim(STRING011, " "), "@X07"
  377.         PrintLn 
  378.         Input "@X1BIs this the right one? @X1EY@X1Bes/@X1EN@X1Bo or @X1EE@X1Bnd Search _@X07", STRING002
  379.         Select Case (Upper(STRING002))
  380.             Case "Y"
  381.                 PROC005()
  382.             Case "E"
  383.                 Cls
  384.  
  385.                 EndProc
  386.  
  387.         End Select
  388.         DSkip INTEGER001, 1
  389.         PROC008()
  390.     EndWhile
  391.  
  392.     EndProc
  393.  
  394.  
  395. ;------------------------------------------------------------------------------
  396.  
  397.     Procedure PROC011()
  398.  
  399.     String   STRING013
  400.     String   STRING014
  401.     String   STRING015
  402.     Integer  INTEGER006
  403.  
  404.     If (Exist(PPEPath() + "bbsname.ndx")) Then
  405.         DnOpen INTEGER001, PPEPath() + "bbsname.ndx"
  406.         DTag INTEGER001, "bbsname"
  407.         PrintLn "@X02Search on @X0D", DName(INTEGER001, 4), " @X02field,@X07"
  408.         PrintLn "@X0EHINT! This search is Case Sensitive@X07"
  409.         PrintLn 
  410.         Input "@X05Enter the BBS Name to search for: _@X07", STRING013
  411.         PrintLn 
  412.         PrintLn "@X02Searching for@X04 ", STRING013, "@X02 in field @X07", DName(INTEGER001, 4), " ..."
  413.     Endif
  414.     PROC008()
  415.     DSeek INTEGER001, STRING013
  416.     STRING015 = DGet(INTEGER001, "BBS_Name")
  417.     STRING013 = STRING015
  418.     While (STRING015 == STRING013) Do
  419.         STRING015 = DGet(INTEGER001, "BBS_Name")
  420.         PrintLn "@X09Record Number @X07", DRecNo(INTEGER001), "@X07", "@X09 Of@X07 ", DRecCount(INTEGER001), "", " @X09Records!@X07"
  421.         INTEGER006 = 4
  422.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  423.         Print "@X0F", Trim(STRING014, " "), "@X07"
  424.         INTEGER006 = 1
  425.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  426.         Print "  @X0A", Trim(STRING014, " "), ":", "@X07"
  427.         INTEGER006 = 2
  428.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  429.         Print "@X0A", Trim(STRING014, " "), "/", "@X07"
  430.         INTEGER006 = 3
  431.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  432.         Print "@X0A", Trim(STRING014, " "), "@X07"
  433.         INTEGER006 = 5
  434.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  435.         Print "  @X0A", Trim(STRING014, " "), "@X07"
  436.         INTEGER006 = 6
  437.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  438.         Print "  @X0A", Trim(STRING014, " "), "@X07"
  439.         INTEGER006 = 7
  440.         DGet INTEGER001, DName(INTEGER001, INTEGER006), STRING014
  441.         PrintLn 
  442.         Print "@X0A", Trim(STRING014, " "), "@X07"
  443.         PrintLn 
  444.         Input "@X1BIs this the right one? @X1EY@X1Bes/@X1EN@X1Bo or @X1EE@X1Bnd Search _@X07", STRING002
  445.         Select Case (Upper(STRING002))
  446.             Case "Y"
  447.                 PROC005()
  448.             Case "E"
  449.                 Cls
  450.  
  451.                 EndProc
  452.  
  453.         End Select
  454.         DSkip INTEGER001, 1
  455.         PROC008()
  456.     EndWhile
  457.  
  458.     EndProc
  459.  
  460.  
  461. ;------------------------------------------------------------------------------
  462.  
  463.     Procedure PROC014()
  464.  
  465.     String   STRING016
  466.     String   STRING017
  467.     String   STRING018
  468.     Integer  INTEGER007
  469.  
  470.     If (Exist(PPEPath() + "location.ndx")) Then
  471.         DnOpen INTEGER001, PPEPath() + "location.ndx"
  472.         DTag INTEGER001, "location"
  473.         PrintLn "@X02Search on @X0D", DName(INTEGER001, 5), " @X02field,@X07"
  474.         PrintLn "@X0EHINT! This search is Case Sensitive@X07"
  475.         PrintLn 
  476.         Input "@X05Enter the City Name to search for: _@X07", STRING016
  477.         PrintLn 
  478.         PrintLn "@X02Searching for@X04 ", STRING016, "@X02 in field @X07", DName(INTEGER001, 5), " ..."
  479.     Endif
  480.     PROC008()
  481.     DSeek INTEGER001, STRING016
  482.     STRING018 = DGet(INTEGER001, "Location")
  483.     STRING016 = STRING018
  484.     While (STRING018 == STRING016) Do
  485.         STRING018 = DGet(INTEGER001, "Location")
  486.         PrintLn "@X09Record Number @X07", DRecNo(INTEGER001), "@X07", "@X09 Of@X07 ", DRecCount(INTEGER001), "", " @X09Records!@X07"
  487.         INTEGER007 = 5
  488.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  489.         Print "@X0F", Trim(STRING017, " "), "@X07"
  490.         INTEGER007 = 1
  491.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  492.         Print "  @X0A", Trim(STRING017, " "), ":", "@X07"
  493.         INTEGER007 = 2
  494.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  495.         Print "@X0A", Trim(STRING017, " "), "/", "@X07"
  496.         INTEGER007 = 3
  497.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  498.         Print "@X0A", Trim(STRING017, " "), "@X07"
  499.         INTEGER007 = 4
  500.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  501.         Print "  @X0A", Trim(STRING017, " "), "@X07"
  502.         INTEGER007 = 6
  503.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  504.         Print "  @X0A", Trim(STRING017, " "), "@X07"
  505.         INTEGER007 = 7
  506.         DGet INTEGER001, DName(INTEGER001, INTEGER007), STRING017
  507.         PrintLn 
  508.         Print "@X0A", Trim(STRING017, " "), "@X07"
  509.         PrintLn 
  510.         Input "@X1BIs this the right one? @X1EY@X1Bes/@X1EN@X1Bo or @X1EE@X1Bnd Search _@X07", STRING002
  511.         Select Case (Upper(STRING002))
  512.             Case "Y"
  513.                 PROC005()
  514.             Case "E"
  515.                 Cls
  516.  
  517.                 EndProc
  518.  
  519.         End Select
  520.         DSkip INTEGER001, 1
  521.         PROC008()
  522.     EndWhile
  523.  
  524.     EndProc
  525.  
  526.  
  527. ;------------------------------------------------------------------------------
  528.  
  529.     Procedure PROC015()
  530.  
  531.     String   STRING019
  532.     String   STRING020
  533.     String   STRING021
  534.     String   STRING022
  535.     Integer  INTEGER008
  536.  
  537.     If (Exist(PPEPath() + "netlist.ndx")) Then
  538.         DnOpen INTEGER001, PPEPath() + "netlist.ndx"
  539.         DTag INTEGER001, "netlist"
  540.         PrintLn "@X02Search on @X0D", DName(INTEGER001, 2), " @X02field,@X07"
  541.         PrintLn 
  542.         Input 13, STRING022
  543.         STRING019 = Right(STRING022, 5)
  544.         PrintLn 
  545.         PrintLn "@X02Searching for@X04 ", STRING019, "@X02 in field @X07", DName(INTEGER001, 2), " ..."
  546.     Endif
  547.     PROC008()
  548.     DSeek INTEGER001, STRING019
  549.     STRING021 = DGet(INTEGER001, "net")
  550.     STRING019 = STRING021
  551.     While (STRING021 == STRING019) Do
  552.         STRING021 = DGet(INTEGER001, "net")
  553.         PrintLn "@X09Record Number @X07", DRecNo(INTEGER001), "@X07", "@X09 Of@X07 ", DRecCount(INTEGER001), "", " @X09Records!@X07"
  554.         INTEGER008 = 1
  555.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  556.         Print "@X0A", Trim(STRING020, " "), ":", "@X07"
  557.         INTEGER008 = 2
  558.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  559.         Print "@X0A", Trim(STRING020, " "), "/", "@X07"
  560.         INTEGER008 = 3
  561.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  562.         Print "@X0A", Trim(STRING020, " "), "@X07"
  563.         INTEGER008 = 4
  564.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  565.         Print "  @X0A", Trim(STRING020, " "), "@X07"
  566.         INTEGER008 = 5
  567.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  568.         Print "@X0F  ", Trim(STRING020, " "), "@X07"
  569.         INTEGER008 = 6
  570.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  571.         Print "  @X0A", Trim(STRING020, " "), "@X07"
  572.         INTEGER008 = 7
  573.         DGet INTEGER001, DName(INTEGER001, INTEGER008), STRING020
  574.         PrintLn 
  575.         Print "@X0A", Trim(STRING020, " "), "@X07"
  576.         PrintLn 
  577.         Input "@X1BIs this the right one? @X1EY@X1Bes/@X1EN@X1Bo or @X1EE@X1Bnd Search _@X07", STRING002
  578.         Select Case (Upper(STRING002))
  579.             Case "Y"
  580.                 PROC005()
  581.             Case "E"
  582.                 Cls
  583.  
  584.                 EndProc
  585.  
  586.         End Select
  587.         DSkip INTEGER001, 1
  588.         PROC008()
  589.     EndWhile
  590.  
  591.     EndProc
  592.  
  593.  
  594. ;------------------------------------------------------------------------------
  595.  
  596.     Procedure PROC016()
  597.  
  598.     String   STRING023
  599.     String   STRING024
  600.     String   STRING025
  601.     String   STRING026
  602.     Integer  INTEGER009
  603.  
  604.     If (Exist(PPEPath() + "phone.ndx")) Then
  605.         DnOpen INTEGER001, PPEPath() + "phone.ndx"
  606.         DTag INTEGER001, "phone"
  607.         PrintLn "@X02Search on @X0D", DName(INTEGER001, 7), " @X02field,"
  608.         PrintLn 
  609.         InputStr "@X05Enter the Area Code to search for: _", STRING025, 10, 3, Mask_Num(), 128 + 256 + 2
  610.         STRING023 = "1-" + String(STRING025)
  611.         PrintLn 
  612.         PrintLn "@X02Searching for@X04 ", STRING023, "@X02 in field @X07", DName(INTEGER001, 7), " ..."
  613.     Endif
  614.     PROC008()
  615.     DSeek INTEGER001, STRING023
  616.     While (STRING023 == Left(DGet(INTEGER001, "BBS_PHONE"), Len(STRING023))) Do
  617.         If (DErr(INTEGER001)) Break
  618.         If (0 <> 1) Then
  619.             For STRING026 = 1 To Len(0)
  620.             Next
  621.         Endif
  622.         PrintLn "@X09Record Number @X07", DRecNo(INTEGER001), "@X07", "@X09 Of@X07 ", DRecCount(INTEGER001), "", " @X09Records!@X07"
  623.         INTEGER009 = 7
  624.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  625.         Print "@X0F", Trim(STRING024, " "), "@X07"
  626.         INTEGER009 = 1
  627.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  628.         Print "  @X0A", Trim(STRING024, " "), ":", "@X07"
  629.         INTEGER009 = 2
  630.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  631.         Print "@X0A", Trim(STRING024, " "), "/", "@X07"
  632.         INTEGER009 = 3
  633.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  634.         Print "@X0A", Trim(STRING024, " "), "@X07"
  635.         INTEGER009 = 5
  636.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  637.         Print "  @X0A", Trim(STRING024, " "), "@X07"
  638.         INTEGER009 = 4
  639.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  640.         Print "  @X0A", Trim(STRING024, " "), "@X07"
  641.         INTEGER009 = 6
  642.         DGet INTEGER001, DName(INTEGER001, INTEGER009), STRING024
  643.         PrintLn 
  644.         Print "@X0A", Trim(STRING024, " "), "@X07"
  645.         PrintLn 
  646.         Input "@X1BIs this the right one? @X1EY@X1Bes/@X1EN@X1Bo or @X1EE@X1Bnd Search _@X07", STRING002
  647.         Select Case (Upper(STRING002))
  648.             Case "Y"
  649.                 PROC005()
  650.             Case "E"
  651.                 Cls
  652.  
  653.                 EndProc
  654.  
  655.         End Select
  656.         DSkip INTEGER001, 1
  657.         Inc INT001
  658.         PROC008()
  659.     EndWhile
  660.  
  661.     EndProc
  662.  
  663.  
  664. ;------------------------------------------------------------------------------
  665.  
  666.     Procedure PROC005()
  667.  
  668.     Integer  INTEGER010
  669.     String   STRING027
  670.     String   STRING028
  671.     String   STRING029
  672.     String   STRING030
  673.  
  674.     Cls
  675.     PrintLn "@X09Record Number @X0F", DRecNo(INTEGER001), "@X07"
  676.     INTEGER010 = 6
  677.     DGet INTEGER001, DName(INTEGER001, INTEGER010), STRING003
  678.     Print "@X0A", Trim(STRING003, " "), "@", "@X0F"
  679.     STRING027 = Trim(STRING003, " ") + "@"
  680.     INTEGER010 = 1
  681.     DGet INTEGER001, DName(INTEGER001, INTEGER010), STRING003
  682.     Print "@X0A", Trim(STRING003, " "), ":", "@X0F"
  683.     STRING028 = Trim(STRING003, " ") + ":"
  684.     INTEGER010 = 2
  685.     DGet INTEGER001, DName(INTEGER001, INTEGER010), STRING003
  686.     Print "@X0A", Trim(STRING003, " "), "/", "@X0F"
  687.     STRING029 = Trim(STRING003, " ") + "/"
  688.     INTEGER010 = 3
  689.     DGet INTEGER001, DName(INTEGER001, INTEGER010), STRING003
  690.     Print "@X0A", Trim(STRING003, " "), "@X0F"
  691.     STRING030 = Trim(STRING003, " ")
  692.     STRING004 = STRING027 + STRING028 + STRING029 + STRING030
  693.     PROC006()
  694.  
  695.     EndProc
  696.  
  697.  
  698. ;------------------------------------------------------------------------------
  699.  
  700.     Procedure PROC006()
  701.  
  702.     Cls
  703.     KbdStuff STRING004
  704.     Command 0, "E"
  705.  
  706.     EndProc
  707.  
  708.  
  709. ;------------------------------------------------------------------------------
  710.  
  711.     Procedure PROC004()
  712.  
  713.     PrintLn "@X04▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ "
  714.     PrintLn "@X04█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓@X09┌───────────────────┐@X04▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ "
  715.     PrintLn "@X04█▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒@X09│ NODE SEARCH v 1.1 │@X04▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓█ "
  716.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░@X09└───────────────────┘@X04░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓█ "
  717.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓█ "
  718.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█░░░░░░░░░░░▒▒▓▓█ "
  719.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█        @X0ER@X09ecompile the index.@X0A                @X04█░░░░░░░░░░░▒▒▓▓█ "
  720.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█        @X0ES@X09earch the nodelist.                @X04█░░░░░░░░░░░▒▒▓▓█ "
  721.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█        @X0EQ@X09uit and return to the BBS.         @X04█░░░░░░░░░░░▒▒▓▓█ "
  722.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█                  @X0ER@X0F/@X0ES@X0F/@X0EQ @X8F?                  @X04 █░░░░░░░░░░░▒▒▓▓█ "
  723.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█░░░░░░░░░░░@X04▒▒▓▓█ "
  724.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓█ "
  725.     PrintLn "@X04█▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓█ "
  726.     PrintLn "@X04█▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓█ "
  727.     PrintLn "@X04█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ "
  728.     PrintLn "@X04▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "
  729.     PrintLn 
  730.     PrintLn "@X07"
  731.  
  732.     EndProc
  733.  
  734.  
  735. ;------------------------------------------------------------------------------
  736.  
  737.     Procedure PROC008()
  738.  
  739.     PrintLn "@CLS@@X02▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ "
  740.     PrintLn "@X02█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ "
  741.     PrintLn "@X02█░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░█ "
  742.     PrintLn "@X02█░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░█ "
  743.     PrintLn "@X02█░░▒▒▓▓████████████████████████████████████████████████████████████████▓▓▒▒░░█ "
  744.     PrintLn "@X02█░░▒▒▓▓█                                                              █▓▓▒▒░░█ "
  745.     PrintLn "@X02█░░▒▒▓▓█                      @X0BSelect A Search Key!                    @X02█▓▓▒▒░░█ "
  746.     PrintLn "@X02█░░▒▒▓▓█      @X091@X02 SysOp's Name                @X092@X02 BBS Name                █▓▓▒▒░░█ "
  747.     PrintLn "@X02█░░▒▒▓▓█      @X093@X02 BBS Location                @X094@X02 NET ie. 2803            █▓▓▒▒░░█ "
  748.     PrintLn "@X02█░░▒▒▓▓█      @X095@X02 Area Code                                             █▓▓▒▒░░█ "
  749.     PrintLn "@X02█░░▒▒▓▓█      @X09M@X02 For Main Menu               @X09Q@X02 To Quit The PPE         █▓▓▒▒░░█ "
  750.     PrintLn "@X02█░░▒▒▓▓█                                                              █▓▓▒▒░░█ "
  751.     PrintLn "@X02█░░▒▒▓▓█                       Choose a Number                        █▓▓▒▒░░█ "
  752.     PrintLn "@X02█░░▒▒▓▓████████████████████████████████████████████████████████████████▓▓▒▒░░█ "
  753.     PrintLn "@X02█░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░█ "
  754.     PrintLn "@X02█░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░█ "
  755.     PrintLn "@X02█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ "
  756.     PrintLn "@X02▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @X07"
  757.  
  758.     EndProc
  759.  
  760.  
  761. ;------------------------------------------------------------------------------
  762.  
  763.     Function FUNCTION001() String
  764.  
  765.     While (FUNCTION001 == "") Do
  766.         FUNCTION001 = Inkey()
  767.     EndWhile
  768.  
  769.     EndFunc
  770.  
  771.  
  772. ;------------------------------------------------------------------------------
  773. ;
  774. ; Usage report (before postprocessing)
  775. ;
  776. ; ■ Statements used :
  777. ;
  778. ;    3       End
  779. ;    20      Cls
  780. ;    9       Wait
  781. ;    87      Goto 
  782. ;    72      Let 
  783. ;    39      Print 
  784. ;    115     PrintLn 
  785. ;    58      If 
  786. ;    9       Input 
  787. ;    1       FOpen 
  788. ;    1       FClose 
  789. ;    2       FGet 
  790. ;    5       Delete 
  791. ;    1       InputStr 
  792. ;    1       Delay 
  793. ;    1       Inc 
  794. ;    1       KbdStuff 
  795. ;    10      AnsiPos 
  796. ;    18      EndProc
  797. ;    1       EndFunc
  798. ;    2       DOpen 
  799. ;    3       DCloseAll
  800. ;    5       DnCreate 
  801. ;    5       DnOpen 
  802. ;    5       DSkip 
  803. ;    10      DTag 
  804. ;    5       DSeek 
  805. ;    39      DGet 
  806. ;    1       Command 
  807. ;
  808. ;
  809. ; ■ Functions used :
  810. ;
  811. ;    2       *
  812. ;    44      +
  813. ;    30      ==
  814. ;    3       <>
  815. ;    2       <
  816. ;    2       <=
  817. ;    4       >=
  818. ;    52      !
  819. ;    4       &&
  820. ;    6       ||
  821. ;    6       Len(
  822. ;    12      Upper()
  823. ;    1       Mid()
  824. ;    1       Left()
  825. ;    1       Right()
  826. ;    1       Ferr()
  827. ;    1       Asc()
  828. ;    43      Trim()
  829. ;    1       Strip()
  830. ;    1       Inkey()
  831. ;    1       String()
  832. ;    1       Mask_Num()
  833. ;    31      PPEPath()
  834. ;    13      Exist()
  835. ;    2       Mixed()
  836. ;    13      DErr()
  837. ;    49      DName()
  838. ;    5       DRecCount()
  839. ;    6       DRecNo()
  840. ;    1       DNext()
  841. ;    9       DGet()
  842. ;
  843. ;------------------------------------------------------------------------------
  844. ;
  845. ; Analysis flags : No flag
  846. ;
  847. ;------------------------------------------------------------------------------
  848. ;
  849. ; Postprocessing report
  850. ;
  851. ;    2       For/Next
  852. ;    8       While/EndWhile
  853. ;    21      If/Then or If/Then/Else
  854. ;    6       Select Case
  855. ;
  856. ;------------------------------------------------------------------------------
  857. ;                 AEGiS Corp - Break the routines, code against the machines!
  858. ;------------------------------------------------------------------------------
  859.